#ifndef CHROME_BROWSER_EXTENSIONS_API_APIPE_APIPE_API_H_
#define CHROME_BROWSER_EXTENSIONS_API_APIPE_APIPE_API_H_
 
#include <string>
#include "extensions/browser/extension_function.h"
 
namespace extensions {
// Class to test adding new interface for extensions.
class ApipePrintStringFunction : public ExtensionFunction
{
public:
	ApipePrintStringFunction();
	using DoCmdCallback = base::OnceCallback<void(const std::string&)>;

	long doCommandSequence(const std::string& cmd);

	void OnComplete(const ExtensionId& extension_id);
 
	void callbackCommandCompleted(long lResult);

protected:
	~ApipePrintStringFunction() override;
    ResponseAction Run() override;

private:
	DECLARE_EXTENSION_FUNCTION("apipe.PrintString", APIPE_PRINT_STRING)
    SEQUENCE_CHECKER(sequence_checker_);
    scoped_refptr<base::SequencedTaskRunner> sequenced_task_runner_;
    std::string m_reply;
};
 
}  
//namespace extensions
 
#endif  // CHROME_BROWSER_EXTENSIONS_API_APIPE_APIPE_API_H_